{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# plot_learning_curves: Plot learning curves from training and test sets"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "A function to plot learning curves for classifiers. Learning curves are extremely useful to analyze if a model is suffering from over- or under-fitting (high variance or high bias). The function can be imported via\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> from mlxtend.plotting import plot_learning_curves"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This function uses the traditional holdout method based on a training and a test (or validation) set. The test set is kept constant while the size of the training set is increased gradually. The model is fit on the training set (of varying size) and evaluated on the same test set.\n",
    "\n",
    "The learning curve can be used as follows to diagnose overfitting:\n",
    "\n",
    "- If there is a large gap between the training and test performance, then the model is likely suffering from overfitting.\n",
    "- If both the training and test error are very large, the model is likely underfitting the data.\n",
    "\n",
    "The learning curve can also be used to judge whether collecting more data can be useful. More about that in Example 1 below."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### References\n",
    "\n",
    "-"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Example 1"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The following code illustrates how we can construct a learning curve for a 5000-sample subset of the MNIST dataset. 4000 examples are used for training, and 1000 examples are reserved for testing."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAH6CAYAAADvI/O4AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAA9hAAAPYQGoP6dpAAChrklEQVR4nOzdd3zM9x/A8dfdZQ8hU0JEUCT2KA219yo6tNSsWdSqGlVbqVHrR+xRW1tb1Y6tZtCaRSJGgggJIvv7++OaIzIkl3EZ7+fj8X0k97nPfe59l3DvfKZKURQFIYQQQog8RG3oAIQQQgghspokQEIIIYTIcyQBEkIIIUSeIwmQEEIIIfIcSYCEEEIIkedIAiSEEEKIPEcSICGEEELkOZIACSGEECLPkQRICCGEEHmOJEBC5CErV65EpVJx9uxZQ4eSZnXr1qVu3boGe/64uDhWr15Nw4YNsbe3x9jYGEdHR1q2bMmOHTuIi4szWGxCiLQzMnQAQgiRGt7e3gZ77oiICNq0acPevXv54osvWLBgAQULFuTx48fs3r2bzz77jI0bN9K6dWuDxSiESBtJgIQQWU5RFCIiIjA3N0/1Yzw9PTMxopQNGTKEPXv28Msvv9C5c+cE93388cd89913vHr1KkOeKzw8HAsLiwxpSwiRPBkCE0Ik8u+//9KhQwccHR0xNTXFw8OD+fPnJ6gTERHBt99+S8WKFbGxscHW1hYvLy+2bduWqD2VSkX//v1ZuHAhHh4emJqa8ssvv+iG5Hx8fPj666+xt7fHzs6Ojz/+mAcPHiRo4+0hMH9/f1QqFTNmzGDmzJm4u7tjZWWFl5cXf/31V6IYlixZQsmSJTE1NcXT05N169bRtWtXihYtmuJ7ERQUxNKlS2nSpEmi5Cfee++9R/ny5YHXw4z+/v4J6hw6dAiVSsWhQ4cSvKayZcty5MgRatSogYWFBV999RVt2rTBzc0tyWG16tWrU7lyZd1tRVHw9vamYsWKmJubU6BAAT799FNu376d4HG+vr60bNlS9zN1cXGhRYsW3Lt3L8XXL0RuJT1AQogErly5Qo0aNShSpAg///wzBQsWZM+ePQwYMIDg4GDGjh0LQGRkJCEhIQwdOpRChQoRFRXF/v37+fjjj1mxYkWiZGHr1q0cPXqUMWPGULBgQRwdHTlz5gwAPXr0oEWLFqxbt467d+/y3Xff0bFjRw4ePPjOeOfPn0/p0qWZPXs2AKNHj6Z58+b4+flhY2MDwOLFi+nduzeffPIJs2bNIjQ0lPHjxxMZGfnO9n18fIiOjqZNmzZpeBdTLzAwkI4dOzJs2DAmT56MWq3m2bNntG7dmoMHD9KwYUNd3WvXrnH69Gnmzp2rK+vduzcrV65kwIABTJ06lZCQECZMmECNGjW4ePEiTk5OvHz5kkaNGuHu7s78+fNxcnIiKCgIHx8fnj9/nimvS4hsTxFC5BkrVqxQAOXMmTPJ1mnSpIlSuHBhJTQ0NEF5//79FTMzMyUkJCTJx8XExCjR0dFK9+7dlUqVKiW4D1BsbGwSPTY+nr59+yYonzZtmgIogYGBurI6deooderU0d328/NTAKVcuXJKTEyMrvz06dMKoKxfv15RFEWJjY1VChYsqFSvXj3Bc9y5c0cxNjZW3Nzckn0vFEVRfvrpJwVQdu/enWK9t1+Tn59fgnIfHx8FUHx8fBK8JkA5cOBAgrrR0dGKk5OT0qFDhwTlw4YNU0xMTJTg4GBFURTl5MmTCqD8/PPPCerdvXtXMTc3V4YNG6YoiqKcPXtWAZStW7em6jUIkRfIEJgQQiciIoIDBw7Qtm1bLCwsiImJ0V3NmzcnIiIiwfDSb7/9Rs2aNbGyssLIyAhjY2OWLVvG1atXE7Vdv359ChQokOTzfvTRRwluxw8n3blz550xt2jRAo1Gk+xjr1+/TlBQEO3atUvwuCJFilCzZs13tp/ZChQoQP369ROUGRkZ0bFjRzZv3kxoaCgAsbGxrF69mtatW2NnZwfAzp07UalUdOzYMcHPqmDBglSoUEE33FaiRAkKFCjA8OHDWbhwIVeuXMnS1yhEdiQJkBBC58mTJ8TExPC///0PY2PjBFfz5s0BCA4OBmDz5s20a9eOQoUKsWbNGk6ePMmZM2f46quviIiISNS2s7Nzss8b/4Eez9TUFCBVE4vf9dgnT54A4OTklOixSZW9rUiRIgD4+fm9s64+kntf4t/HDRs2ALBnzx4CAwPp1q2brs7Dhw9RFAUnJ6dEP6+//vpL97OysbHh8OHDVKxYke+//54yZcrg4uLC2LFjiY6OzpTXJUR2J3OAhBA6BQoUQKPR0KlTJ/r165dkHXd3dwDWrFmDu7s7GzduRKVS6e5Pbl7Nm3WyUnyC9PDhw0T3BQUFvfPx9erVw9jYmK1bt9KnT5931jczMwMSvw/xycjbkntfPD09qVatGitWrKB3796sWLECFxcXGjdurKtjb2+PSqXi6NGjusTvTW+WlStXjg0bNqAoCpcuXWLlypVMmDABc3NzRowY8c7XJURuIz1AQggdCwsL6tWrh6+vL+XLl6dq1aqJrviEQqVSYWJikuADPCgoKMlVYIZUqlQpChYsyK+//pqgPCAggBMnTrzz8QULFqRHjx7s2bOHVatWJVnn1q1bXLp0CUC3qiz+drzt27enOfZu3bpx6tQpjh07xo4dO+jSpUuC4b6WLVuiKAr3799P8mdVrly5RG2qVCoqVKjArFmzyJ8/P+fPn09zXELkBtIDJEQedPDgwUTLtAGaN2/OnDlz+PDDD6lVqxZff/01RYsW5fnz59y8eZMdO3boVma1bNmSzZs307dvXz799FPu3r3LxIkTcXZ25t9//83iV5Q8tVrN+PHj6d27N59++ilfffUVz549Y/z48Tg7O6NWv/vvwJkzZ3L79m26du3Knj17aNu2LU5OTgQHB7Nv3z5WrFjBhg0bKF++PO+//z6lSpVi6NChxMTEUKBAAbZs2cKxY8fSHHv79u0ZMmQI7du3JzIykq5duya4v2bNmvTq1Ytu3bpx9uxZateujaWlJYGBgRw7doxy5crx9ddfs3PnTry9vWnTpg3FihVDURQ2b97Ms2fPaNSoUZrjEiI3kARIiDxo+PDhSZb7+fnh6enJ+fPnmThxIj/88AOPHj0if/78vPfee7p5QKDtnXj06BELFy5k+fLlFCtWjBEjRnDv3j3Gjx+fVS8lVXr16oVKpWLatGm0bduWokWLMmLECLZt20ZAQMA7H29mZsYff/zB2rVr+eWXX+jduzdhYWEUKFCAqlWrsnz5clq1agWARqNhx44d9O/fnz59+mBqasoXX3zBvHnzaNGiRZritrGxoW3btqxbt46aNWtSsmTJRHUWLVrEBx98wKJFi/D29iYuLg4XFxdq1qxJtWrVAO0+Rfnz52fatGk8ePAAExMTSpUqxcqVK+nSpUuaYhIit1ApiqIYOgghhMhqz549o2TJkrRp04bFixcbOhwhRBaTHiAhRK4XFBTEjz/+SL169bCzs+POnTvMmjWL58+fM3DgQEOHJ4QwAEmAhBC5nqmpKf7+/vTt25eQkBAsLCz44IMPWLhwIWXKlDF0eEIIA5AhMCGEEELkObIMXgghhBB5jiRAQgghhMhzJAESQgghRJ4jCZAQQggh8hxJgIQQQgiR50gCJIQQQog8RxIgIYQQQuQ5kgAJIYQQIs+RBEgIIYQQeY4kQEIIIYTIcyQBEkIIIUSeIwmQEEIIIfIcSYCEEEIIkedIAiSEEEKIPEcSICGEEELkOZIACSGEECLPkQRICCGEEHmOJEBCCCGEyHMkARJCCCFEniMJkMhWVq5ciUql4uzZswnKg4ODqVq1KlZWVuzbt49x48ahUqlwdHTk+fPnidopWrQoLVu21CuGunXrUrduXb0e27VrV6ysrN5Zz9/fH5VKxYwZM/R6nsy0Y8cOWrVqhZOTEyYmJtja2tKgQQPWrl1LdHS0rp5KpWLcuHEGizP+d+BNUVFR9OnTB2dnZzQaDRUrVgS0vw9du3bNlDhu3bqFqakpJ0+ezJT2M0N6fnap/beV3L/lnObQoUOoVKpkrz59+ujqLlu2jEKFCvHy5UsDRixSy8jQAQjxLvfu3aNRo0Y8fPiQ/fv388EHH3D8+HEAHj9+zLRp05g4cWKGPZ+3t3eGtZWTKIrCV199xcqVK2nevDkzZ87E1dWV0NBQfHx86Nu3L8HBwQwcONDQoQLQo0cPmjZtmqBswYIFLFq0iP/9739UqVJFl4xu2bKFfPnyZUocQ4cOpVGjRnh5eWVK+5nh5MmTFC5c2NBh5AiVK1dOMrldsGABq1atom3btrqyLl26MHXqVKZNm8b48eOzMkyhB0mARLb277//0rBhQ6Kjozl8+DDlypVLcH/Tpk2ZNWsW/fr1o2DBghnynJ6enhnSTnbw6tUrzMzMEvWUJGX69OmsXLmS8ePHM2bMmAT3tWrVimHDhnHz5s3MCjXNChcunOhD/J9//sHc3Jz+/fsnKK9UqVKGPa+iKERERGBubs7Vq1fZunUru3fvzrD2s8IHH3xg6BAyTHh4OBYWFpnWfr58+RK9X4qi8OWXX+Lm5kajRo105UZGRvTu3ZuJEycyfPjwTI1LpJ8MgYls68KFC3z44YcYGRlx7NixRMkPwKRJk4iJiUlVd35UVBSTJk2idOnSmJqa4uDgQLdu3Xj8+HGCekkNgd27d49PP/0Ua2tr8ufPz5dffsmZM2dQqVSsXLky0XPdvHmT5s2bY2VlhaurK99++y2RkZGJ6sXFxfHjjz9SpEgRzMzMqFq1KgcOHEhU79ixYzRo0ABra2ssLCyoUaMGf/zxR4I68UMOe/fu5auvvsLBwQELCwsiIyN5/PgxvXr1wtXVVffaa9asyf79+wGIjo5m6tSplC5dmtGjRyf5/hUsWJAPP/ww2ff38ePH9O3bF09PT6ysrHB0dKR+/focPXo0Ud0FCxZQoUIFrKyssLa2pnTp0nz//fe6+8PDwxk6dCju7u6YmZlha2tL1apVWb9+va7O20NgKpWKpUuX8urVK93wRPzPJqkhsLCwMN1zmJiYUKhQIQYNGpRo+EKlUtG/f38WLlyIh4cHpqam/PLLL7rXUbBgwQQfgqD9HSpbtixnzpyhVq1aWFhYUKxYMX766Sfi4uKSfQ+TEj/ktHv3bipXroy5uTmlS5dm+fLlieoGBQXRu3dvChcujImJCe7u7owfP56YmJhEr+ntfzPHjh3Dy8sLMzMzChUqxOjRo1m6dCkqlQp/f/9Ez5WaeACePn1Kt27dsLW1xdLSklatWnH79u1E9ZYvX06FChV0P++2bdty9erVBHXih5j//vtvGjdujLW1NQ0aNADA19eXli1b4ujoiKmpKS4uLrRo0YJ79+6l9PbqxcfHh9u3b9OtWzfU6oQfo19++SVhYWFs2LAhw59XZCxJgES2dOzYMerWrYujoyPHjh2jWLFiSdZzc3Ojb9++LFu2jBs3biTbXlxcHK1bt+ann36iQ4cO/PHHH/z000/s27ePunXr8urVq2Qf+/LlS+rVq4ePjw9Tp07l119/xcnJic8//zzJ+tHR0Xz00Uc0aNCAbdu28dVXXzFr1iymTp2aqO68efPYvXs3s2fPZs2aNajVapo1a5agy/3w4cPUr1+f0NBQli1bxvr167G2tqZVq1Zs3LgxUZtfffUVxsbGrF69mt9//x1jY2M6derE1q1bGTNmDHv37mXp0qU0bNiQJ0+eAHD27FlCQkJo3bp1qnqLkhISEgLA2LFj+eOPP1ixYgXFihWjbt26HDp0SFdvw4YN9O3blzp16rBlyxa2bt3K4MGDEyQeQ4YMYcGCBQwYMIDdu3ezevVqPvvsM128STl58iTNmzfH3NyckydPcvLkSVq0aJFk3fDwcOrUqcMvv/zCgAED+PPPPxk+fDgrV67ko48+QlGUBPW3bt3KggULGDNmDHv27KFWrVoA/PHHH9SuXTvRhyBok5Evv/ySjh07sn37dpo1a8bIkSNZs2ZNqt/TeBcvXuTbb79l8ODBbNu2jfLly9O9e3eOHDmS4PmqVavGnj17GDNmDH/++Sfdu3dnypQp9OzZM8X2L126RKNGjQgPD+eXX35h4cKFnD9/nh9//FHveOJ1794dtVrNunXrmD17NqdPn6Zu3bo8e/ZMV2fKlCl0796dMmXKsHnzZubMmcOlS5fw8vLi33//TdBeVFQUH330EfXr12fbtm2MHz+ely9f6obJ58+fz759+5g9ezZFihRJMEcwNjaWmJiYd17vSlKXLVuGWq2mW7duie4rWLAgpUuXTvQHisiGFCGykRUrViiAAig2NjbKo0ePkqw3duxYBVAeP36sBAcHKzY2Nsonn3yiu9/NzU1p0aKF7vb69esVQNm0aVOCds6cOaMAire3t66sTp06Sp06dXS358+frwDKn3/+meCxvXv3VgBlxYoVurIuXboogPLrr78mqNu8eXOlVKlSutt+fn4KoLi4uCivXr3SlYeFhSm2trZKw4YNdWUffPCB4ujoqDx//lxXFhMTo5QtW1YpXLiwEhcXl+C969y5c6L3y8rKShk0aFCi8ngbNmxQAGXhwoXJ1nkboIwdOzbZ+2NiYpTo6GilQYMGStu2bXXl/fv3V/Lnz59i22XLllXatGmTYp3434E3denSRbG0tExU183NTenSpYvu9pQpUxS1Wq2cOXMmQb3ff/9dAZRdu3bpyuJ/F0NCQhLUffjwoQIoP/30U6Lnq1OnjgIop06dSlDu6empNGnSJMXXlVTsZmZmyp07d3Rlr169UmxtbZXevXvrynr37q1YWVklqKcoijJjxgwFUC5fvpzgNb35s/vss88US0tL5fHjx7qy2NhYxdPTUwEUPz+/NMcT//v45s9eURTl+PHjCqBMmjRJURRFefr0qWJubq40b948Qb2AgADF1NRU6dChg64s/t/X8uXLE9Q9e/asAihbt25N/Aa+If7n8q7rzd+Vtz19+lQxMzNL8ef45ZdfKk5OTinGIgxPeoBEtvTRRx8RGhrKoEGDiI2NTbGunZ0dw4cPZ9OmTZw6dSrJOjt37iR//vy0atUqwV96FStWpGDBggl6KN52+PBhrK2tE024bd++fZL1VSoVrVq1SlBWvnx57ty5k6juxx9/jJmZme52fM/OkSNH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\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from mlxtend.plotting import plot_learning_curves\n",
    "import matplotlib.pyplot as plt\n",
    "from mlxtend.data import mnist_data\n",
    "from mlxtend.preprocessing import shuffle_arrays_unison\n",
    "from sklearn.neighbors import KNeighborsClassifier\n",
    "import numpy as np\n",
    "\n",
    "\n",
    "# Loading some example data\n",
    "X, y = mnist_data()\n",
    "X, y = shuffle_arrays_unison(arrays=[X, y], random_seed=123)\n",
    "X_train, X_test = X[:4000], X[4000:]\n",
    "y_train, y_test = y[:4000], y[4000:]\n",
    "\n",
    "clf = KNeighborsClassifier(n_neighbors=7)\n",
    "\n",
    "plot_learning_curves(X_train, y_train, X_test, y_test, clf)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "As we can see from the plot above, the KNN model could benefit from additional training data. I.e., the slope indicates that if we had a larger training set, the test set error might decrease further. \n",
    "\n",
    "Also, based on the gap between training and test set performance, the model overfits slightly. This could pontentially be addressed by increasing the number of neighbors (`n_neighbors`) in KNN. \n",
    "\n",
    "While it is not relevant for analyzing the performance of the classifier, the region ~20% training set size shows that the model is underfitting (large training and test error), which is probably due to the small dataset size."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## API"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "## plot_learning_curves\n",
      "\n",
      "*plot_learning_curves(X_train, y_train, X_test, y_test, clf, train_marker='o', test_marker='^', scoring='misclassification error', suppress_plot=False, print_model=True, title_fontsize=12, style='default', legend_loc='best')*\n",
      "\n",
      "Plots learning curves of a classifier.\n",
      "\n",
      "**Parameters**\n",
      "\n",
      "- `X_train` : array-like, shape = [n_samples, n_features]\n",
      "\n",
      "    Feature matrix of the training dataset.\n",
      "\n",
      "- `y_train` : array-like, shape = [n_samples]\n",
      "\n",
      "    True class labels of the training dataset.\n",
      "\n",
      "- `X_test` : array-like, shape = [n_samples, n_features]\n",
      "\n",
      "    Feature matrix of the test dataset.\n",
      "\n",
      "- `y_test` : array-like, shape = [n_samples]\n",
      "\n",
      "    True class labels of the test dataset.\n",
      "\n",
      "- `clf` : Classifier object. Must have a .predict .fit method.\n",
      "\n",
      "\n",
      "- `train_marker` : str (default: 'o')\n",
      "\n",
      "    Marker for the training set line plot.\n",
      "\n",
      "- `test_marker` : str (default: '^')\n",
      "\n",
      "    Marker for the test set line plot.\n",
      "\n",
      "- `scoring` : str (default: 'misclassification error')\n",
      "\n",
      "    If not 'misclassification error', accepts the following metrics\n",
      "    (from scikit-learn):\n",
      "    {'accuracy', 'average_precision', 'f1_micro', 'f1_macro',\n",
      "    'f1_weighted', 'f1_samples', 'log_loss',\n",
      "    'precision', 'recall', 'roc_auc',\n",
      "    'adjusted_rand_score', 'mean_absolute_error', 'mean_squared_error',\n",
      "    'median_absolute_error', 'r2'}\n",
      "\n",
      "- `suppress_plot=False` : bool (default: False)\n",
      "\n",
      "    Suppress matplotlib plots if True. Recommended\n",
      "    for testing purposes.\n",
      "\n",
      "- `print_model` : bool (default: True)\n",
      "\n",
      "    Print model parameters in plot title if True.\n",
      "\n",
      "- `style` : str (default: 'default')\n",
      "\n",
      "    Matplotlib style. For more styles, please see\n",
      "    https://matplotlib.org/stable/gallery/style_sheets/style_sheets_reference.html\n",
      "\n",
      "- `legend_loc` : str (default: 'best')\n",
      "\n",
      "    Where to place the plot legend:\n",
      "    {'best', 'upper left', 'upper right', 'lower left', 'lower right'}\n",
      "\n",
      "**Returns**\n",
      "\n",
      "- `errors` : (training_error, test_error): tuple of lists\n",
      "\n",
      "\n",
      "**Examples**\n",
      "\n",
      "For usage examples, please see\n",
      "    https://rasbt.github.io/mlxtend/user_guide/plotting/plot_learning_curves/\n",
      "\n",
      "\n"
     ]
    }
   ],
   "source": [
    "with open('../../api_modules/mlxtend.plotting/plot_learning_curves.md', 'r') as f:\n",
    "    print(f.read())"
   ]
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.7"
  },
  "toc": {
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
